home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Shareware / Programare / sharp / wwwSharp_setup.exe / {app} / Examples / ComputerInfo / ComputerInfo.wsits / computerinfo.vbs < prev    next >
Text File  |  2004-01-22  |  47KB  |  985 lines

  1. strComputer = "."
  2.  
  3. Function WMIDateStringToDate(dtmWMIDate)
  4.     If Not IsNull(dtmWMIDate) Then
  5.     WMIDateStringToDate = CDate(Mid(dtmWMIDate, 5, 2) & "/" & _
  6.          Mid(dtmWMIDate, 7, 2) & "/" & Left(dtmWMIDate, 4) & _
  7.          " " & Mid (dtmWMIDate, 9, 2) & ":" & _
  8.          Mid(dtmWMIDate, 11, 2) & ":" & Mid(dtmWMIDate, _
  9.          13, 2))
  10.     End If
  11. End Function
  12.  
  13. Function DisplayOutputHeader(strHeader)
  14.     document.all.headOutput.innerText = strHeader
  15. End Function
  16.  
  17. Function DisplayOutput(strOutput)
  18.     document.all.divOutput.innerHTML = strOutput
  19. End Function
  20.  
  21. Function GetTableHeader()
  22.     str = "<TABLE class='tblOutput'>"
  23.     str = str & "<THEAD><TR><TH width=30%>Property</TH><TH>Value</TH></TR></THEAD>"
  24.     str = str & "<TBODY>" & vbCRLF
  25.     GetTableHeader = str
  26. End Function
  27.  
  28. Function GetTableFooter()
  29.     str = "</TBODY>" & vbCRLF & "</TABLE>" & vbCRLF
  30.     GetTableFooter = str
  31. End Function
  32.  
  33. Function GetRow(PropName, PropValue)
  34.     str = "<TR>"
  35.     str = str & "<TD class='PropName'>" & PropName & "</TD>"
  36.     str = str & "<TD>" & PropValue & "</TD>"
  37.     str = str & "</TR>" & vbCRLF
  38.     GetRow = str
  39. End Function
  40.  
  41. Function ShowTimeZoneInfo()
  42.     On Error Resume Next
  43.     DisplayOutputHeader("Time zone - Win32_TimeZone")
  44.     str = ""
  45.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  46.     Set colItems = objWMIService.ExecQuery("Select * from Win32_TimeZone")
  47.     For Each objItem in colItems
  48.         str = str & GetTableHeader()
  49.         str = str & GetRow("Bias", objItem.Bias)
  50.         str = str & GetRow("Caption", objItem.Caption)
  51.         str = str & GetRow("Daylight Bias", objItem.DaylightBias)
  52.         str = str & GetRow("Daylight Day", objItem.DaylightDay)
  53.         str = str & GetRow("Daylight Day Of Week", objItem.DaylightDayOfWeek)
  54.         str = str & GetRow("Daylight Hour", objItem.DaylightHour)
  55.         str = str & GetRow("Daylight Millisecond", objItem.DaylightMillisecond)
  56.         str = str & GetRow("Daylight Minute", objItem.DaylightMinute)
  57.         str = str & GetRow("Daylight Month", objItem.DaylightMonth)
  58.         str = str & GetRow("Daylight Name", objItem.DaylightName)
  59.         str = str & GetRow("Daylight Second", objItem.DaylightSecond)
  60.         str = str & GetRow("Daylight Year", objItem.DaylightYear)
  61.         str = str & GetRow("Description", objItem.Description)
  62.         str = str & GetRow("Setting ID", objItem.SettingID)
  63.         str = str & GetRow("Standard Bias", objItem.StandardBias)
  64.         str = str & GetRow("Standard Day", objItem.StandardDay)
  65.         str = str & GetRow("Standard Day Of Week", objItem.StandardDayOfWeek)
  66.         str = str & GetRow("Standard Hour", objItem.StandardHour)
  67.         str = str & GetRow("Standard Millisecond", objItem.StandardMillisecond)
  68.         str = str & GetRow("Standard Minute", objItem.StandardMinute)
  69.         str = str & GetRow("Standard Month", objItem.StandardMonth)
  70.         str = str & GetRow("Standard Name", objItem.StandardName)
  71.         str = str & GetRow("Standard Second", objItem.StandardSecond)
  72.         str = str & GetRow("Standard Year", objItem.StandardYear)
  73.         str = str & GetTableFooter()
  74.     Next
  75.     DisplayOutput(str)
  76. End Function
  77.  
  78. Function ShowBaseboardInfo()
  79.     On Error Resume Next
  80.     DisplayOutputHeader("Baseboard - Win32_BaseBoard")
  81.     str = ""
  82.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  83.     Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard")
  84.     For Each objItem in colItems
  85.         str = str & GetTableHeader()
  86.         For Each strOption in objItem.ConfigOptions
  87.             str = str & GetRow("Configuration Option", strOption)
  88.         Next
  89.         str = str & GetRow("Depth", objItem.Depth)
  90.         str = str & GetRow("Description", objItem.Description)
  91.         str = str & GetRow("Height", objItem.Height)
  92.         str = str & GetRow("Hosting Board", objItem.HostingBoard)
  93.         str = str & GetRow("Hot Swappable", objItem.HotSwappable)
  94.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  95.         str = str & GetRow("Model", objItem.Model)
  96.         str = str & GetRow("Name", objItem.Name)
  97.         str = str & GetRow("Other Identifying Information", objItem.OtherIdentifyingInfo)
  98.         str = str & GetRow("Part Number", objItem.PartNumber)
  99.         str = str & GetRow("Powered On", objItem.PoweredOn)
  100.         str = str & GetRow("Product", objItem.Product)
  101.         str = str & GetRow("Removable", objItem.Removable)
  102.         str = str & GetRow("Replaceable", objItem.Replaceable)
  103.         str = str & GetRow("Requirements Description", objItem.RequirementsDescription)
  104.         str = str & GetRow("Requires DaughterBoard", objItem.RequiresDaughterBoard)
  105.         str = str & GetRow("Serial Number", objItem.SerialNumber)
  106.         str = str & GetRow("SKU", objItem.SKU)
  107.         str = str & GetRow("Slot Layout", objItem.SlotLayout)
  108.         str = str & GetRow("Special Requirements", objItem.SpecialRequirements)
  109.         str = str & GetRow("Tag", objItem.Tag)
  110.         str = str & GetRow("Version", objItem.Version)
  111.         str = str & GetRow("Weight", objItem.Weight)
  112.         str = str & GetRow("Width", objItem.Width)
  113.         str = str & GetTableFooter()
  114.     Next
  115.     DisplayOutput(str)
  116. End Function
  117.  
  118. Function ShowComputerBusInfo()
  119.     On Error Resume Next
  120.     DisplayOutputHeader("Computer bus - Win32_Bus")
  121.     str = ""
  122.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  123.     Set colItems = objWMIService.ExecQuery("Select * from Win32_Bus")
  124.     For Each objItem in colItems
  125.         str = str & GetTableHeader()
  126.         str = str & GetRow("Bus Number", objItem.BusNum)
  127.         str = str & GetRow("Bus Type", objItem.BusType)
  128.         str = str & GetRow("Description", objItem.Description)
  129.         str = str & GetRow("Device ID", objItem.DeviceID)
  130.         str = str & GetRow("Name", objItem.Name)
  131.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  132.         str = str & GetTableFooter()
  133.     Next
  134.     DisplayOutput(str)
  135. End Function
  136.  
  137. Function ShowDesktopMonitorInfo()
  138.     On Error Resume Next
  139.     DisplayOutputHeader("Desktop monitor - Win32_DesktopMonitor")
  140.     str = ""
  141.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  142.     Set colItems = objWMIService.ExecQuery("Select * from Win32_DesktopMonitor")
  143.     For Each objItem in colItems
  144.         str = str & GetTableHeader()
  145.         str = str & GetRow("Availability", objItem.Availability)
  146.         str = str & GetRow("Bandwidth", objItem.Bandwidth)
  147.         str = str & GetRow("Description", objItem.Description)
  148.         str = str & GetRow("Device ID", objItem.DeviceID)
  149.         str = str & GetRow("Display Type", objItem.DisplayType)
  150.         str = str & GetRow("Is Locked", objItem.IsLocked)
  151.         str = str & GetRow("Monitor Manufacturer", objItem.MonitorManufacturer)
  152.         str = str & GetRow("Monitor Type", objItem.MonitorType)
  153.         str = str & GetRow("Name", objItem.Name)
  154.         str = str & GetRow("Pixels Per X Logical Inch", objItem.PixelsPerXLogicalInch)
  155.         str = str & GetRow("Pixels Per Y Logical Inch", objItem.PixelsPerYLogicalInch)
  156.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  157.         str = str & GetRow("Screen Height", objItem.ScreenHeight)
  158.         str = str & GetRow("Screen Width", objItem.ScreenWidth)
  159.         str = str & GetTableFooter()
  160.     Next
  161.     DisplayOutput(str)
  162. End Function
  163.  
  164. Function ShowDeviceMemoryAddressInfo()
  165.     On Error Resume Next
  166.     DisplayOutputHeader("Device memory address - Win32_DeviceMemoryAddress")
  167.     str = ""
  168.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  169.     Set colItems = objWMIService.ExecQuery("Select * from Win32_DeviceMemoryAddress")
  170.     For Each objItem in colItems
  171.         str = str & GetTableHeader()
  172.         str = str & GetRow("Name", objItem.Name)
  173.         str = str & GetRow("Starting Address", objItem.StartingAddress)
  174.         str = str & GetRow("Ending Address", objItem.EndingAddress)
  175.         str = str & GetTableFooter()
  176.     Next
  177.     DisplayOutput(str)
  178. End Function
  179.  
  180. Function ShowDMAChannelInfo()
  181.     On Error Resume Next
  182.     DisplayOutputHeader("DMA channel - Win32_DMAChannel")
  183.     str = ""
  184.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  185.     Set colItems = objWMIService.ExecQuery("Select * from Win32_DMAChannel")
  186.     For Each objItem in colItems
  187.         str = str & GetTableHeader()
  188.         str = str & GetRow("Address Size", objItem.AddressSize)
  189.         str = str & GetRow("Availability", objItem.Availability)
  190.         str = str & GetRow("Byte Mode", objItem.ByteMode)
  191.         str = str & GetRow("Channel Timing", objItem.ChannelTiming)
  192.         str = str & GetRow("DMA Channel", objItem.DMAChannel)
  193.         str = str & GetRow("Maximum Transfer Size", objItem.MaxTransferSize)
  194.         str = str & GetRow("Name", objItem.Name)
  195.         str = str & GetRow("Type C Timing", objItem.TypeCTiming)
  196.         str = str & GetRow("Word Mode", objItem.WordMode)
  197.         str = str & GetTableFooter()
  198.     Next
  199.     DisplayOutput(str)
  200. End Function
  201.  
  202. Function ShowIRQSettingsInfo()
  203.     On Error Resume Next
  204.     DisplayOutputHeader("IRQ settings - Win32_IRQResource")
  205.     str = ""
  206.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  207.     Set colItems = objWMIService.ExecQuery("Select * from Win32_IRQResource")
  208.     For Each objItem in colItems
  209.         str = str & GetTableHeader()
  210.         str = str & GetRow("Availability", objItem.Availability)
  211.         str = str & GetRow("Hardware", objItem.Hardware)
  212.         str = str & GetRow("IRQ Number", objItem.IRQNumber)
  213.         str = str & GetRow("Name", objItem.Name)
  214.         str = str & GetRow("Trigger Level", objItem.TriggerLevel)
  215.         str = str & GetRow("Trigger Type", objItem.TriggerType)
  216.         str = str & GetTableFooter()
  217.     Next
  218.     DisplayOutput(str)
  219. End Function
  220.  
  221. Function ShowKeyboardInfo()
  222.     On Error Resume Next
  223.     DisplayOutputHeader("Keyboard - Win32_Keyboard")
  224.     str = ""
  225.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  226.     Set colItems = objWMIService.ExecQuery("Select * from Win32_Keyboard")
  227.     For Each objItem in colItems
  228.         str = str & GetTableHeader()
  229.         str = str & GetRow("Caption", objItem.Caption)
  230.         str = str & GetRow("Description", objItem.Description)
  231.         str = str & GetRow("Device ID", objItem.DeviceID)
  232.         str = str & GetRow("Is Locked", objItem.IsLocked)
  233.         str = str & GetRow("Layout", objItem.Layout)
  234.         str = str & GetRow("Name", objItem.Name)
  235.         str = str & GetRow("Number of Function Keys", objItem.NumberOfFunctionKeys)
  236.         str = str & GetRow("Password", objItem.Password)
  237.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  238.         str = str & GetTableFooter()
  239.     Next
  240.     DisplayOutput(str)
  241. End Function
  242.  
  243. Function ShowMemoryDevicesInfo()
  244.     On Error Resume Next
  245.     DisplayOutputHeader("Memory devices - Win32_MemoryDevice")
  246.     str = ""
  247.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  248.     Set colItems = objWMIService.ExecQuery("Select * from Win32_MemoryDevice")
  249.     For Each objItem in colItems
  250.         str = str & GetTableHeader()
  251.         str = str & GetRow("Device ID", objItem.DeviceID)
  252.         str = str & GetRow("Starting Address", objItem.StartingAddress)
  253.         str = str & GetRow("Ending Address", objItem.EndingAddress)
  254.         str = str & GetTableFooter()
  255.     Next
  256.     DisplayOutput(str)
  257. End Function
  258.  
  259. Function ShowOnboardDevicesInfo()
  260.     On Error Resume Next
  261.     DisplayOutputHeader("Onboard devices - Win32_OnBoardDevice")
  262.     str = ""
  263.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  264.     Set colItems = objWMIService.ExecQuery("Select * from Win32_OnBoardDevice")
  265.     For Each objItem in colItems
  266.         str = str & GetTableHeader()
  267.         str = str & GetRow("Description", objItem.Description)
  268.         str = str & GetRow("Device Type", objItem.DeviceType)
  269.         str = str & GetRow("Model", objItem.Model)
  270.         str = str & GetRow("Name", objItem.Name)
  271.         str = str & GetRow("Tag", objItem.Tag)
  272.         str = str & GetRow("Version", objItem.Version)
  273.         str = str & GetTableFooter()
  274.     Next
  275.     DisplayOutput(str)
  276. End Function
  277.  
  278. Function ShowParallelPortInfo()
  279.     On Error Resume Next
  280.     DisplayOutputHeader("Parallel ports - Win32_ParallelPort")
  281.     str = ""
  282.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  283.     Set colItems = objWMIService.ExecQuery("Select * from Win32_ParallelPort", , 48)
  284.     For Each objItem in colItems
  285.         str = str & GetTableHeader()
  286.         str = str & GetRow("Availability", objItem.Availability)
  287.         For Each strCapability in objItem.Capabilities
  288.             str = str & GetRow("Capability", strCapability)
  289.         Next
  290.         str = str & GetRow("Description", objItem.Description)
  291.         str = str & GetRow("Device ID", objItem.DeviceID)
  292.         str = str & GetRow("Name", objItem.Name)
  293.         str = str & GetRow("OS Auto Discovered", objItem.OSAutoDiscovered)
  294.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  295.         str = str & GetRow("Protocol Supported", objItem.ProtocolSupported)
  296.         str = str & GetTableFooter()
  297.     Next
  298.     DisplayOutput(str)
  299. End Function
  300.  
  301. Function ShowPhysicalMemoryInfo()
  302.     On Error Resume Next
  303.     DisplayOutputHeader("Physical memory - Win32_PhysicalMemoryArray")
  304.     str = ""
  305.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  306.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemoryArray")
  307.     For Each objItem in colItems
  308.         str = str & GetTableHeader()
  309.         str = str & GetRow("Description", objItem.Description)
  310.         str = str & GetRow("Maximum Capacity", objItem.MaxCapacity)
  311.         str = str & GetRow("Memory Devices", objItem.MemoryDevices)
  312.         str = str & GetRow("Memory Error Correction", objItem.MemoryErrorCorrection)
  313.         str = str & GetTableFooter()
  314.     Next
  315.     DisplayOutput(str)
  316. End Function
  317.  
  318. Function ShowPnPDevicesInfo()
  319.     On Error Resume Next
  320.     DisplayOutputHeader("Plug and play devices - Win32_PnPEntity")
  321.     str = ""
  322.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  323.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PnPEntity")
  324.     For Each objItem in colItems
  325.         str = str & GetTableHeader()
  326.         str = str & GetRow("Class GUID", objItem.ClassGuid)
  327.         str = str & GetRow("Description", objItem.Description)
  328.         str = str & GetRow("Device ID", objItem.DeviceID)
  329.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  330.         str = str & GetRow("Name", objItem.Name)
  331.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  332.         str = str & GetRow("Service", objItem.Service)
  333.         str = str & GetTableFooter()
  334.     Next
  335.     DisplayOutput(str)
  336. End Function
  337.  
  338. Function ShowPnpSignedDriversInfo()
  339.     On Error Resume Next
  340.     DisplayOutputHeader("Plug and play signed drivers - Win32_PnPSignedDriver")
  341.     str = ""
  342.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  343.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PnPSignedDriver")
  344.     For Each objItem in colItems
  345.         str = str & GetTableHeader()
  346.         str = str & GetRow("Class Guid", objItem.ClassGuid)
  347.         str = str & GetRow("Compatability ID", objItem.CompatID)
  348.         str = str & GetRow("Description", objItem.Description)
  349.         str = str & GetRow("Device Class", objItem.DeviceClass)
  350.         str = str & GetRow("Device ID", objItem.DeviceID)
  351.         str = str & GetRow("Device Name", objItem.DeviceName)
  352.         dtmWMIDate = objItem.DriverDate
  353.         strReturn = WMIDateStringToDate(dtmWMIDate)
  354.         str = str & GetRow("Driver Date", strReturn)
  355.         str = str & GetRow("Driver Provider Name", objItem.DriverProviderName)
  356.         str = str & GetRow("Driver Version", objItem.DriverVersion)
  357.         str = str & GetRow("HardWare ID", objItem.HardWareID)
  358.         str = str & GetRow("Inf Name", objItem.InfName)
  359.         str = str & GetRow("Is Signed", objItem.IsSigned)
  360.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  361.         str = str & GetRow("PDO", objItem.PDO)
  362.         str = str & GetRow("Signer", objItem.Signer)
  363.         str = str & GetTableFooter()
  364.     Next
  365.     DisplayOutput(str)
  366. End Function
  367.  
  368. Function ShowPointingDevicesInfo()
  369.     On Error Resume Next
  370.     DisplayOutputHeader("Pointing devices - Win32_PointingDevice")
  371.     str = ""
  372.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  373.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PointingDevice")
  374.     For Each objItem in colItems
  375.         str = str & GetTableHeader()
  376.         str = str & GetRow("Description", objItem.Description)
  377.         str = str & GetRow("Device ID", objItem.DeviceID)
  378.         str = str & GetRow("Device Interface", objItem.DeviceInterface)
  379.         str = str & GetRow("Double Speed Threshold", objItem.DoubleSpeedThreshold)
  380.         str = str & GetRow("Handedness", objItem.Handedness)
  381.         str = str & GetRow("Hardware Type", objItem.HardwareType)
  382.         str = str & GetRow("INF File Name", objItem.InfFileName)
  383.         str = str & GetRow("INF Section", objItem.InfSection)
  384.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  385.         str = str & GetRow("Name", objItem.Name)
  386.         str = str & GetRow("Number Of Buttons", objItem.NumberOfButtons)
  387.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  388.         str = str & GetRow("Pointing Type", objItem.PointingType)
  389.         str = str & GetRow("Quad Speed Threshold", objItem.QuadSpeedThreshold)
  390.         str = str & GetRow("Resolution", objItem.Resolution)
  391.         str = str & GetRow("Sample Rate", objItem.SampleRate)
  392.         str = str & GetRow("Synch", objItem.Synch)
  393.         str = str & GetTableFooter()
  394.     Next
  395.     DisplayOutput(str)
  396. End Function
  397.  
  398. Function ShowPortConnectorInfo()
  399.     On Error Resume Next
  400.     DisplayOutputHeader("Port connector - Win32_PortConnector")
  401.     str = ""
  402.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  403.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PortConnector")
  404.     For Each objItem in colItems
  405.         str = str & GetTableHeader()
  406.         str = str & GetRow("Connector Pinout", objItem.ConnectorPinout)
  407.         For Each strConnectorType in objItem.ConnectorType
  408.             str = str & GetRow("Connector Type", strConnectorType)
  409.         Next
  410.         str = str & GetRow("Description", objItem.Description)
  411.         str = str & GetRow("External Reference Designator", objItem.ExternalReferenceDesignator)
  412.         str = str & GetRow("Internal Reference Designator", objItem.InternalReferenceDesignator)
  413.         str = str & GetRow("Name", objItem.Name)
  414.         str = str & GetRow("Port Type", objItem.PortType)
  415.         str = str & GetRow("Serial Number", objItem.SerialNumber)
  416.         str = str & GetRow("Tag", objItem.Tag)
  417.         str = str & GetRow("Version", objItem.Version)
  418.         str = str & GetTableFooter()
  419.     Next
  420.     DisplayOutput(str)
  421. End Function
  422.  
  423. Function ShowVideoResolutionsInfo()
  424.     On Error Resume Next
  425.     DisplayOutputHeader("Possible video resolutions - CIM_VideoControllerResolution")
  426.     str = ""
  427.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  428.     Set colItems = objWMIService.ExecQuery("Select * from CIM_VideoControllerResolution")
  429.     For Each objItem in colItems
  430.         str = str & GetTableHeader()
  431.         str = str & GetRow("Setting ID", objItem.SettingID)
  432.         str = str & GetRow("Horizontal Resolution", objItem.HorizontalResolution)
  433.         str = str & GetRow("Vertical Resolution", objItem.VerticalResolution)
  434.         str = str & GetRow("Number Of Colors", objItem.NumberOfColors)
  435.         str = str & GetRow("Refresh Rate", objItem.RefreshRate)
  436.         str = str & GetRow("Scan Mode", objItem.ScanMode)
  437.         str = str & GetTableFooter()
  438.     Next
  439.     DisplayOutput(str)
  440. End Function
  441.  
  442. Function ShowProcessorInfo()
  443.     On Error Resume Next
  444.     DisplayOutputHeader("Processor - Win32_Processor")
  445.     str = ""
  446.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  447.     Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")
  448.     For Each objItem in colItems
  449.         str = str & GetTableHeader()
  450.         str = str & GetRow("Address Width", objItem.AddressWidth)
  451.         str = str & GetRow("Architecture", objItem.Architecture)
  452.         str = str & GetRow("Availability", objItem.Availability)
  453.         str = str & GetRow("CPU Status", objItem.CpuStatus)
  454.         str = str & GetRow("Current Clock Speed", objItem.CurrentClockSpeed)
  455.         str = str & GetRow("Data Width", objItem.DataWidth)
  456.         str = str & GetRow("Description", objItem.Description)
  457.         str = str & GetRow("Device ID", objItem.DeviceID)
  458.         str = str & GetRow("Ext Clock", objItem.ExtClock)
  459.         str = str & GetRow("Family", objItem.Family)
  460.         str = str & GetRow("L2 Cache Size", objItem.L2CacheSize)
  461.         str = str & GetRow("L2 Cache Speed", objItem.L2CacheSpeed)
  462.         str = str & GetRow("Level", objItem.Level)
  463.         str = str & GetRow("Load Percentage", objItem.LoadPercentage)
  464.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  465.         str = str & GetRow("Maximum Clock Speed", objItem.MaxClockSpeed)
  466.         str = str & GetRow("Name", objItem.Name)
  467.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  468.         str = str & GetRow("Processor Id", objItem.ProcessorId)
  469.         str = str & GetRow("Processor Type", objItem.ProcessorType)
  470.         str = str & GetRow("Revision", objItem.Revision)
  471.         str = str & GetRow("Role", objItem.Role)
  472.         str = str & GetRow("Socket Designation", objItem.SocketDesignation)
  473.         str = str & GetRow("Status Information", objItem.StatusInfo)
  474.         str = str & GetRow("Stepping", objItem.Stepping)
  475.         str = str & GetRow("Unique Id", objItem.UniqueId)
  476.         str = str & GetRow("Upgrade Method", objItem.UpgradeMethod)
  477.         str = str & GetRow("Version", objItem.Version)
  478.         str = str & GetRow("Voltage Caps", objItem.VoltageCaps)
  479.         str = str & GetTableFooter()
  480.     Next
  481.     DisplayOutput(str)
  482. End Function
  483.  
  484. Function ShowPhysicalMemoryConfigurations()
  485.     On Error Resume Next
  486.     DisplayOutputHeader("Physical memory configurations - Win32_PhysicalMemory")
  487.     str = ""
  488.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  489.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory", , 48)
  490.     For Each objItem in colItems
  491.         str = str & GetTableHeader()
  492.         str = str & GetRow("Bank Label", objItem.BankLabel)
  493.         str = str & GetRow("Capacity", objItem.Capacity)
  494.         str = str & GetRow("Data Width", objItem.DataWidth)
  495.         str = str & GetRow("Description", objItem.Description)
  496.         str = str & GetRow("Device Locator", objItem.DeviceLocator)
  497.         str = str & GetRow("Form Factor", objItem.FormFactor)
  498.         str = str & GetRow("Hot Swappable", objItem.HotSwappable)
  499.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  500.         str = str & GetRow("Memory Type", objItem.MemoryType)
  501.         str = str & GetRow("Name", objItem.Name)
  502.         str = str & GetRow("Part Number", objItem.PartNumber)
  503.         str = str & GetRow("Position In Row", objItem.PositionInRow)
  504.         str = str & GetRow("Speed", objItem.Speed)
  505.         str = str & GetRow("Tag", objItem.Tag)
  506.         str = str & GetRow("Type Detail", objItem.TypeDetail)
  507.         str = str & GetTableFooter()
  508.     Next
  509.     DisplayOutput(str)
  510. End Function
  511.  
  512. Function ShowSerialPortConfigurations()
  513.     On Error Resume Next
  514.     DisplayOutputHeader("Serial port configuration - Win32_SerialPortConfiguration")
  515.     str = ""
  516.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  517.     Set colItems = objWMIService.ExecQuery("Select * from Win32_SerialPortConfiguration")
  518.     For Each objItem in colItems
  519.         str = str & GetTableHeader()
  520.         str = str & GetRow("Abort Read Write On Error", objItem.AbortReadWriteOnError)
  521.         str = str & GetRow("Baud Rate", objItem.BaudRate)
  522.         str = str & GetRow("Binary Mode Enabled", objItem.BinaryModeEnabled)
  523.         str = str & GetRow("Bits Per Byte", objItem.BitsPerByte)
  524.         str = str & GetRow("Continue XMit On XOff", objItem.ContinueXMitOnXOff)
  525.         str = str & GetRow("CTS Outflow Control", objItem.CTSOutflowControl)
  526.         str = str & GetRow("Discard NULL Bytes", objItem.DiscardNULLBytes)
  527.         str = str & GetRow("DSR Outflow Control", objItem.DSROutflowControl)
  528.         str = str & GetRow("DSR Sensitivity", objItem.DSRSensitivity)
  529.         str = str & GetRow("DTR Flow Control Type", objItem.DTRFlowControlType)
  530.         str = str & GetRow("EOF Character", objItem.EOFCharacter)
  531.         str = str & GetRow("Error Replace Character", objItem.ErrorReplaceCharacter)
  532.         str = str & GetRow("Error Replacement Enabled", objItem.ErrorReplacementEnabled)
  533.         str = str & GetRow("Event Character", objItem.EventCharacter)
  534.         str = str & GetRow("Is Busy", objItem.IsBusy)
  535.         str = str & GetRow("Name", objItem.Name)
  536.         str = str & GetRow("Parity", objItem.Parity)
  537.         str = str & GetRow("Parity Check Enabled", objItem.ParityCheckEnabled)
  538.         str = str & GetRow("RTS Flow Control Type", objItem.RTSFlowControlType)
  539.         str = str & GetRow("Setting ID", objItem.SettingID)
  540.         str = str & GetRow("Stop Bits", objItem.StopBits)
  541.         str = str & GetRow("XOff Character", objItem.XOffCharacter)
  542.         str = str & GetRow("XOff XMit Threshold", objItem.XOffXMitThreshold)
  543.         str = str & GetRow("XOn Character", objItem.XOnCharacter)
  544.         str = str & GetRow("XOn XMit Threshold", objItem.XOnXMitThreshold)
  545.         str = str & GetRow("XOn XOff InFlow Control", objItem.XOnXOffInFlowControl)
  546.         str = str & GetRow("XOn XOff OutFlow Control", objItem.XOnXOffOutFlowControl)
  547.         str = str & GetTableFooter()
  548.     Next
  549.     DisplayOutput(str)
  550. End Function
  551.  
  552. Function ShowSerialPortInfo()
  553.     On Error Resume Next
  554.     DisplayOutputHeader("Serial ports - Win32_SerialPort")
  555.     str = ""
  556.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  557.     Set colItems = objWMIService.ExecQuery("Select * from Win32_SerialPort", , 48)
  558.     For Each objItem in colItems
  559.         str = str & GetTableHeader()
  560.         str = str & GetRow("Binary", objItem.Binary)
  561.         str = str & GetRow("Description", objItem.Description)
  562.         str = str & GetRow("Device ID", objItem.DeviceID)
  563.         str = str & GetRow("Maximum Baud Rate", objItem.MaxBaudRate)
  564.         str = str & GetRow("Maximum Input Buffer Size", objItem.MaximumInputBufferSize)
  565.         str = str & GetRow("Maximum Output Buffer Size", objItem.MaximumOutputBufferSize)
  566.         str = str & GetRow("Name", objItem.Name)
  567.         str = str & GetRow("OS Auto Discovered", objItem.OSAutoDiscovered)
  568.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  569.         str = str & GetRow("Provider Type", objItem.ProviderType)
  570.         str = str & GetRow("Settable Baud Rate", objItem.SettableBaudRate)
  571.         str = str & GetRow("Settable Data Bits", objItem.SettableDataBits)
  572.         str = str & GetRow("Settable Flow Control", objItem.SettableFlowControl)
  573.         str = str & GetRow("Settable Parity", objItem.SettableParity)
  574.         str = str & GetRow("Settable Parity Check", objItem.SettableParityCheck)
  575.         str = str & GetRow("Settable RLSD", objItem.SettableRLSD)
  576.         str = str & GetRow("Settable Stop Bits", objItem.SettableStopBits)
  577.         str = str & GetRow("Supports 16-Bit Mode", objItem.Supports16BitMode)
  578.         str = str & GetRow("Supports DTRDSR", objItem.SupportsDTRDSR)
  579.         str = str & GetRow("Supports Elapsed Timeouts", objItem.SupportsElapsedTimeouts)
  580.         str = str & GetRow("Supports Int Timeouts", objItem.SupportsIntTimeouts)
  581.         str = str & GetRow("Supports Parity Check", objItem.SupportsParityCheck)
  582.         str = str & GetRow("Supports RLSD", objItem.SupportsRLSD)
  583.         str = str & GetRow("Supports RTSCTS", objItem.SupportsRTSCTS)
  584.         str = str & GetRow("Supports Special Characters", objItem.SupportsSpecialCharacters)
  585.         str = str & GetRow("Supports XOn XOff", objItem.SupportsXOnXOff)
  586.         str = str & GetRow("Supports XOn XOff Setting", objItem.SupportsXOnXOffSet)
  587.         str = str & GetTableFooter()
  588.     Next
  589.     DisplayOutput(str)
  590. End Function
  591.  
  592. Function ShowSoundCardInfo()
  593.     On Error Resume Next
  594.     DisplayOutputHeader("Sound card - Win32_SoundDevice")
  595.     str = ""
  596.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  597.     Set colItems = objWMIService.ExecQuery("Select * from Win32_SoundDevice")
  598.     For Each objItem in colItems
  599.         str = str & GetTableHeader()
  600.         str = str & GetRow("Description", objItem.Description)
  601.         str = str & GetRow("Device ID", objItem.DeviceID)
  602.         str = str & GetRow("DMA Buffer Size", objItem.DMABufferSize)
  603.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  604.         str = str & GetRow("MPU 401 Address", objItem.MPU401Address)
  605.         str = str & GetRow("Name", objItem.Name)
  606.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  607.         str = str & GetRow("Product Name", objItem.ProductName)
  608.         str = str & GetRow("Status Information", objItem.StatusInfo)
  609.         str = str & GetTableFooter()
  610.     Next
  611.     DisplayOutput(str)
  612. End Function
  613.  
  614. Function ShowSystemSlotInfo()
  615.     On Error Resume Next
  616.     DisplayOutputHeader("System slot - Win32_SystemSlot")
  617.     str = ""
  618.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  619.     Set colItems = objWMIService.ExecQuery("Select * from Win32_SystemSlot",,48)
  620.     For Each objItem in colItems
  621.         str = str & GetTableHeader()
  622.         For Each strConnectorPinout in objItem.ConnectorPinout
  623.             str = str & GetRow("Connector Pinout", strConnectorPinout)
  624.         Next
  625.         str = str & GetRow("Connector Type", objItem.ConnectorType)
  626.         str = str & GetRow("Current Usage", objItem.CurrentUsage)
  627.         str = str & GetRow("Description", objItem.Description)
  628.         str = str & GetRow("Height Allowed", objItem.HeightAllowed)
  629.         str = str & GetRow("Length Allowed", objItem.LengthAllowed)
  630.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  631.         str = str & GetRow("Maximum Data Width", objItem.MaxDataWidth)
  632.         str = str & GetRow("Model", objItem.Model)
  633.         str = str & GetRow("Name", objItem.Name)
  634.         str = str & GetRow("Number", objItem.Number)
  635.         str = str & GetRow("PME Signal", objItem.PMESignal)
  636.         str = str & GetRow("Shared", objItem.Shared)
  637.         str = str & GetRow("Slot Designation", objItem.SlotDesignation)
  638.         str = str & GetRow("Supports Hot Plug", objItem.SupportsHotPlug)
  639.         str = str & GetRow("Tag", objItem.Tag)
  640.         str = str & GetRow("Thermal Rating", objItem.ThermalRating)
  641.         For Each strVccVoltageSupport in objItem.VccMixedVoltageSupport
  642.             str = str & GetRow("VCC Mixed Voltage Support", strVccVoltageSupport)
  643.         Next
  644.         str = str & GetRow("Version", objItem.Version)
  645.         For Each strVppVoltageSupport in objItem.VppMixedVoltageSupport
  646.             str = str & GetRow("VPP Mixed Voltage Support", strVppVoltageSupport)
  647.         Next
  648.         str = str & GetTableFooter()
  649.     Next
  650.     DisplayOutput(str)
  651. End Function
  652.  
  653. Function ShowVideoControllerInfo()
  654.     On Error Resume Next
  655.     DisplayOutputHeader("Video controller - Win32_VideoController")
  656.     str = ""
  657.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  658.     Set colItems = objWMIService.ExecQuery("Select * from Win32_VideoController")
  659.     For Each objItem in colItems
  660.         str = str & GetTableHeader()
  661.         For Each strCapability in objItem.AcceleratorCapabilities
  662.             str = str & GetRow("Accelerator Capability", strCapability)
  663.         Next
  664.         str = str & GetRow("Adapter Compatibility", objItem.AdapterCompatibility)
  665.         str = str & GetRow("Adapter DAC Type", objItem.AdapterDACType)
  666.         str = str & GetRow("Adapter RAM", objItem.AdapterRAM)
  667.         str = str & GetRow("Availability", objItem.Availability)
  668.         str = str & GetRow("Color Table Entries", objItem.ColorTableEntries)
  669.         str = str & GetRow("Current Bits Per Pixel", objItem.CurrentBitsPerPixel)
  670.         str = str & GetRow("Current Horizontal Resolution", objItem.CurrentHorizontalResolution)
  671.         str = str & GetRow("Current Number Of Colors", objItem.CurrentNumberOfColors)
  672.         str = str & GetRow("Current Number Of Columns", objItem.CurrentNumberOfColumns)
  673.         str = str & GetRow("Current Number Of Rows", objItem.CurrentNumberOfRows)
  674.         str = str & GetRow("Current Refresh Rate", objItem.CurrentRefreshRate)
  675.         str = str & GetRow("Current Scan Mode", objItem.CurrentScanMode)
  676.         str = str & GetRow("Current Vertical Resolution", objItem.CurrentVerticalResolution)
  677.         str = str & GetRow("Description", objItem.Description)
  678.         str = str & GetRow("Device ID", objItem.DeviceID)
  679.         str = str & GetRow("Device Specific Pens", objItem.DeviceSpecificPens)
  680.         str = str & GetRow("Dither Type", objItem.DitherType)
  681.         str = str & GetRow("Driver Date", WMIDateStringToDate(objItem.DriverDate))
  682.         str = str & GetRow("Driver Version", objItem.DriverVersion)
  683.         str = str & GetRow("ICM Intent", objItem.ICMIntent)
  684.         str = str & GetRow("ICM Method", objItem.ICMMethod)
  685.         str = str & GetRow("INF Filename", objItem.InfFilename)
  686.         str = str & GetRow("INF Section", objItem.InfSection)
  687.         str = str & GetRow("Installed Display Drivers", objItem.InstalledDisplayDrivers)
  688.         str = str & GetRow("Maximum Memory Supported", objItem.MaxMemorySupported)
  689.         str = str & GetRow("Maximum Number Controlled", objItem.MaxNumberControlled)
  690.         str = str & GetRow("Maximum Refresh Rate", objItem.MaxRefreshRate)
  691.         str = str & GetRow("Minimum Refresh Rate", objItem.MinRefreshRate)
  692.         str = str & GetRow("Monochrome", objItem.Monochrome)
  693.         str = str & GetRow("Name", objItem.Name)
  694.         str = str & GetRow("Number of Color Planes", objItem.NumberOfColorPlanes)
  695.         str = str & GetRow("Number of Video Pages", objItem.NumberOfVideoPages)
  696.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  697.         str = str & GetRow("Reserved System Palette Entries", objItem.ReservedSystemPaletteEntries)
  698.         str = str & GetRow("Specification Version", objItem.SpecificationVersion)
  699.         str = str & GetRow("System Palette Entries", objItem.SystemPaletteEntries)
  700.         str = str & GetRow("Video Architecture", objItem.VideoArchitecture)
  701.         str = str & GetRow("Video Memory Type", objItem.VideoMemoryType)
  702.         str = str & GetRow("Video Mode", objItem.VideoMode)
  703.         str = str & GetRow("Video Mode Description", objItem.VideoModeDescription)
  704.         str = str & GetRow("Video Processor", objItem.VideoProcessor)
  705.         str = str & GetTableFooter()
  706.     Next
  707.     DisplayOutput(str)
  708. End Function
  709.  
  710. Function ShowBatteryInfo()
  711.     On Error Resume Next
  712.     DisplayOutputHeader("Battery - Win32_Battery")
  713.     str = ""
  714.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  715.     Set colItems = objWMIService.ExecQuery("Select * from Win32_Battery")
  716.     For Each objItem in colItems
  717.         str = str & GetTableHeader()
  718.         str = str & GetRow("Availability", objItem.Availability)
  719.         str = str & GetRow("Battery Status", objItem.BatteryStatus)
  720.         str = str & GetRow("Chemistry", objItem.Chemistry)
  721.         str = str & GetRow("Description", objItem.Description)
  722.         str = str & GetRow("Design Voltage", objItem.DesignVoltage)
  723.         str = str & GetRow("Device ID", objItem.DeviceID)
  724.         str = str & GetRow("Estimated Run Time", objItem.EstimatedRunTime)
  725.         str = str & GetRow("Name", objItem.Name)
  726.         For Each objElement In objItem.PowerManagementCapabilities
  727.             str = str & GetRow("Power Management Capabilities", objElement)
  728.         Next
  729.         str = str & GetRow("Power Management Supported", objItem.PowerManagementSupported)
  730.         str = str & GetTableFooter()
  731.     Next
  732.     DisplayOutput(str)
  733. End Function
  734.  
  735. Function ShowBIOSInfo()
  736.     On Error Resume Next
  737.     DisplayOutputHeader("BIOS - Win32_BIOS")
  738.     str = ""
  739.     Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  740.     Set colBIOS = objWMIService.ExecQuery("Select * from Win32_BIOS")
  741.     For each objBIOS in colBIOS
  742.         str = str & GetTableHeader()
  743.         str = str & GetRow("Build Number", objBIOS.BuildNumber)
  744.         str = str & GetRow("Current Language", objBIOS.CurrentLanguage)
  745.         str = str & GetRow("Installable Languages", objBIOS.InstallableLanguages)
  746.         str = str & GetRow("Manufacturer", objBIOS.Manufacturer)
  747.         str = str & GetRow("Name", objBIOS.Name)
  748.         str = str & GetRow("Primary BIOS", objBIOS.PrimaryBIOS)
  749.         str = str & GetRow("Release Date", objBIOS.ReleaseDate)
  750.         str = str & GetRow("Serial Number", objBIOS.SerialNumber)
  751.         str = str & GetRow("SMBIOS Version", objBIOS.SMBIOSBIOSVersion)
  752.         str = str & GetRow("SMBIOS Major Version", objBIOS.SMBIOSMajorVersion)
  753.         str = str & GetRow("SMBIOS Minor Version", objBIOS.SMBIOSMinorVersion)
  754.         str = str & GetRow("SMBIOS Present", objBIOS.SMBIOSPresent)
  755.         str = str & GetRow("Status", objBIOS.Status)
  756.         str = str & GetRow("Version", objBIOS.Version)
  757.         For i = 0 to Ubound(objBIOS.BiosCharacteristics)
  758.             str = str & GetRow("BIOS Characteristics", objBIOS.BiosCharacteristics(i))
  759.         Next
  760.         str = str & GetTableFooter()
  761.     Next
  762.     DisplayOutput(str)
  763. End Function
  764.  
  765. Function ShowCacheMemoryInfo()
  766.     On Error Resume Next
  767.     DisplayOutputHeader("Cache memory - Win32_CacheMemory")
  768.     str = ""
  769.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  770.     Set colItems = objWMIService.ExecQuery("Select * from Win32_CacheMemory")
  771.     For Each objItem in colItems
  772.         str = str & GetTableHeader()
  773.         str = str & GetRow("Access", objItem.Access)
  774.         For Each objElement In objItem.AdditionalErrorData
  775.             str = str & GetRow("Additional Error Data", objElement)
  776.         Next
  777.         str = str & GetRow("Associativity", objItem.Associativity)
  778.         str = str & GetRow("Availability", objItem.Availability)
  779.         str = str & GetRow("Block Size", objItem.BlockSize)
  780.         str = str & GetRow("Cache Speed", objItem.CacheSpeed)
  781.         str = str & GetRow("Cache Type", objItem.CacheType)
  782.         For Each objElement In objItem.CurrentSRAM
  783.             str = str & GetRow("Current SRAM", objElement)
  784.         Next
  785.         str = str & GetRow("Description", objItem.Description)
  786.         str = str & GetRow("Device ID", objItem.DeviceID)
  787.         str = str & GetRow("Error Correct Type", objItem.ErrorCorrectType)
  788.         str = str & GetRow("Installed Size", objItem.InstalledSize)
  789.         str = str & GetRow("Level", objItem.Level)
  790.         str = str & GetRow("Location", objItem.Location)
  791.         str = str & GetRow("Maximum Cache Size", objItem.MaxCacheSize)
  792.         str = str & GetRow("Name", objItem.Name)
  793.         str = str & GetRow("Number Of Blocks", objItem.NumberOfBlocks)
  794.         str = str & GetRow("Status Information", objItem.StatusInfo)
  795.         For Each objElement In objItem.SupportedSRAM
  796.             str = str & GetRow("Supported SRAM", objElement)
  797.         Next
  798.         str = str & GetRow("WritePolicy", objItem.WritePolicy)
  799.         str = str & GetTableFooter()
  800.     Next
  801.     DisplayOutput(str)
  802. End Function
  803.  
  804. Function ShowFanInfo()
  805.     On Error Resume Next
  806.     DisplayOutputHeader("Fan - Win32_Fan")
  807.     str = ""
  808.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  809.     Set colItems = objWMIService.ExecQuery("Select * from Win32_Fan")
  810.     For Each objItem in colItems
  811.         str = str & GetTableHeader()
  812.         str = str & GetRow("Active Cooling", objItem.ActiveCooling)
  813.         str = str & GetRow("Availability", objItem.Availability)
  814.         str = str & GetRow("Device ID", objItem.DeviceID)
  815.         str = str & GetRow("Name", objItem.Name)
  816.         str = str & GetRow("Status Information", objItem.StatusInfo)
  817.         str = str & GetTableFooter()
  818.     Next
  819.     DisplayOutput(str)
  820. End Function
  821.  
  822. Function ShowModemInfo()
  823.     On Error Resume Next
  824.     DisplayOutputHeader("Modem - Win32_POTSModem")
  825.     str = ""
  826.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  827.     Set colItems = objWMIService.ExecQuery("Select * from Win32_POTSModem")
  828.     For Each objItem in colItems
  829.         str = str & GetTableHeader()
  830.         str = str & GetRow("Attached To", objItem.AttachedTo)
  831.         str = str & GetRow("Blind Off", objItem.BlindOff)
  832.         str = str & GetRow("Blind On", objItem.BlindOn)
  833.         str = str & GetRow("Compression Off", objItem.CompressionOff)
  834.         str = str & GetRow("Compression On", objItem.CompressionOn)
  835.         str = str & GetRow("Configuration Manager Error Code", objItem.ConfigManagerErrorCode)
  836.         str = str & GetRow("Configuration Manager User Configuration", objItem.ConfigManagerUserConfig)
  837.         str = str & GetRow("Configuration Dialog", objItem.ConfigurationDialog)
  838.         str = str & GetRow("Country Selected", objItem.CountrySelected)
  839.         For Each objElement In objItem.DCB
  840.             str = str & GetRow("DCB", objElement)
  841.         Next
  842.         For Each objElement In objItem.Default
  843.             str = str & GetRow("Default", objElement)
  844.         Next
  845.         str = str & GetRow("Device ID", objItem.DeviceID)
  846.         str = str & GetRow("Device Type", objItem.DeviceType)
  847.         str = str & GetRow("Driver Date", objItem.DriverDate)
  848.         str = str & GetRow("Error Control Forced", objItem.ErrorControlForced)
  849.         str = str & GetRow("Error Control Off", objItem.ErrorControlOff)
  850.         str = str & GetRow("Error Control On", objItem.ErrorControlOn)
  851.         str = str & GetRow("Flow Control Hard", objItem.FlowControlHard)
  852.         str = str & GetRow("Flow Control Off", objItem.FlowControlOff)
  853.         str = str & GetRow("Flow Control Soft", objItem.FlowControlSoft)
  854.         str = str & GetRow("Inactivity Scale", objItem.InactivityScale)
  855.         str = str & GetRow("Inactivity Timeout", objItem.InactivityTimeout)
  856.         str = str & GetRow("Index", objItem.Index)
  857.         str = str & GetRow("Maximum Baud Rate To SerialPort", objItem.MaxBaudRateToSerialPort)
  858.         str = str & GetRow("Model", objItem.Model)
  859.         str = str & GetRow("Modem Inf Path", objItem.ModemInfPath)
  860.         str = str & GetRow("Modem Inf Section", objItem.ModemInfSection)
  861.         str = str & GetRow("Modulation Bell", objItem.ModulationBell)
  862.         str = str & GetRow("Modulation CCITT", objItem.ModulationCCITT)
  863.         str = str & GetRow("Name", objItem.Name)
  864.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  865.         str = str & GetRow("Port SubClass", objItem.PortSubClass)
  866.         str = str & GetRow("Prefix", objItem.Prefix)
  867.         For Each objElement In objItem.Properties
  868.             str = str & GetRow("Properties", objElement)
  869.         Next
  870.         str = str & GetRow("Provider Name", objItem.ProviderName)
  871.         str = str & GetRow("Pulse", objItem.Pulse)
  872.         str = str & GetRow("Reset", objItem.Reset)
  873.         str = str & GetRow("Responses Key Name", objItem.ResponsesKeyName)
  874.         str = str & GetRow("Speaker Mode Dial", objItem.SpeakerModeDial)
  875.         str = str & GetRow("Speaker Mode Off", objItem.SpeakerModeOff)
  876.         str = str & GetRow("Speaker Mode On", objItem.SpeakerModeOn)
  877.         str = str & GetRow("Speaker Mode Setup", objItem.SpeakerModeSetup)
  878.         str = str & GetRow("Speaker Volume High", objItem.SpeakerVolumeHigh)
  879.         str = str & GetRow("Speaker Volume Info", objItem.SpeakerVolumeInfo)
  880.         str = str & GetRow("Speaker Volume Low", objItem.SpeakerVolumeLow)
  881.         str = str & GetRow("Speaker Volume Med", objItem.SpeakerVolumeMed)
  882.         str = str & GetRow("Status Info", objItem.StatusInfo)
  883.         str = str & GetRow("Terminator", objItem.Terminator)
  884.         str = str & GetRow("Tone", objItem.Tone)
  885.         str = str & GetTableFooter()
  886.     Next
  887.     DisplayOutput(str)
  888. End Function
  889.  
  890. Function ShowPCMCIAInfo()
  891.     On Error Resume Next
  892.     DisplayOutputHeader("PCMCIA controller - Win32_PCMCIAController")
  893.     str = ""
  894.     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
  895.     Set colItems = objWMIService.ExecQuery("Select * from Win32_PCMCIAController")
  896.     For Each objItem in colItems
  897.         str = str & GetTableHeader()
  898.         str = str & GetRow("Configuration Manager Error Code", _
  899.             objItem.ConfigManagerErrorCode)
  900.         str = str & GetRow("Configuration Manager User Configuration", _
  901.             objItem.ConfigManagerUserConfig)
  902.         str = str & GetRow("Device ID", objItem.DeviceID)
  903.         str = str & GetRow("Manufacturer", objItem.Manufacturer)
  904.         str = str & GetRow("Name", objItem.Name)
  905.         str = str & GetRow("PNP Device ID", objItem.PNPDeviceID)
  906.         str = str & GetRow("Protocol Supported", objItem.ProtocolSupported)
  907.         str = str & GetTableFooter()
  908.     Next
  909.     DisplayOutput(str)
  910. End Function
  911.  
  912. Function ShowSystemInformation()
  913.     On Error Resume Next
  914.     DisplayOutputHeader("System information")
  915.     str = ""
  916.     
  917.     Set objWMIService = GetObject("winmgmts:" _
  918.         & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
  919.     Set colSettings = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")
  920.     str = str & "<H2>Operating systems</H2>" & vbCRLF
  921.     For Each objOperatingSystem in colSettings
  922.         str = str & GetTableHeader()
  923.         str = str & GetRow("OS Name", objOperatingSystem.Name)
  924.         str = str & GetRow("Version", objOperatingSystem.Version)
  925.         str = str & GetRow("Service Pack", _
  926.             objOperatingSystem.ServicePackMajorVersion & "." & objOperatingSystem.ServicePackMinorVersion)
  927.         str = str & GetRow("OS Manufacturer", objOperatingSystem.Manufacturer)
  928.         str = str & GetRow("Windows Directory", objOperatingSystem.WindowsDirectory)
  929.         str = str & GetRow("Locale", objOperatingSystem.Locale)
  930.         str = str & GetRow("Available Physical Memory", objOperatingSystem.FreePhysicalMemory)
  931.         str = str & GetRow("Total Virtual Memory", objOperatingSystem.TotalVirtualMemorySize)
  932.         str = str & GetRow("Available Virtual Memory", objOperatingSystem.FreeVirtualMemory)
  933.         str = str & GetRow("OS Name", objOperatingSystem.SizeStoredInPagingFiles)
  934.         str = str & GetTableFooter()
  935.     Next
  936.     
  937.     Set colSettings = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
  938.     str = str & "<H2>Computer systems</H2>" & vbCRLF
  939.     For Each objComputer in colSettings
  940.         str = str & GetTableHeader()
  941.         str = str & GetRow("System Name", objComputer.Name)
  942.         str = str & GetRow("System Manufacturer", objComputer.Manufacturer)
  943.         str = str & GetRow("System Model", objComputer.Model)
  944.         str = str & GetRow("Time Zone", objComputer.CurrentTimeZone)
  945.         str = str & GetRow("Total Physical Memory", objComputer.TotalPhysicalMemory)
  946.         str = str & GetTableFooter()
  947.     Next
  948.     
  949.     Set colSettings = objWMIService.ExecQuery("Select * from Win32_Processor")
  950.     str = str & "<H2>Processors</H2>" & vbCRLF
  951.     For Each objProcessor in colSettings
  952.         str = str & GetTableHeader()
  953.         str = str & GetRow("System Type", objProcessor.Architecture)
  954.         str = str & GetRow("Processor", objProcessor.Description)
  955.         str = str & GetTableFooter()
  956.     Next
  957.     
  958.     Set colSettings = objWMIService.ExecQuery("Select * from Win32_BIOS")
  959.     str = str & "<H2>BIOS</H2>" & vbCRLF
  960.     For Each objBIOS in colSettings
  961.         str = str & GetTableHeader()
  962.         str = str & GetRow("BIOS Version", objBIOS.Version)
  963.         str = str & GetTableFooter()
  964.     Next
  965.     
  966.     Set colItems = objWMIService.ExecQuery("Select * from Win32_DisplayConfiguration")
  967.     str = str & "<H2>Display configuration</H2>" & vbCRLF
  968.     For Each objItem in colItems
  969.         str = str & GetTableHeader()
  970.         str = str & GetRow("Bits Per Pel", objItem.BitsPerPel)
  971.         str = str & GetRow("Device Name", objItem.DeviceName)
  972.         str = str & GetRow("Display Flags", objItem.DisplayFlags)
  973.         str = str & GetRow("Display Frequency", objItem.DisplayFrequency)
  974.         str = str & GetRow("Driver Version", objItem.DriverVersion)
  975.         str = str & GetRow("Log Pixels", objItem.LogPixels)
  976.         str = str & GetRow("Pels Height", objItem.PelsHeight)
  977.         str = str & GetRow("Pels Width", objItem.PelsWidth)
  978.         str = str & GetRow("Setting ID", objItem.SettingID)
  979.         str = str & GetRow("Specification Version", objItem.SpecificationVersion)
  980.         str = str & GetTableFooter()
  981.     Next
  982.  
  983.     DisplayOutput(str)
  984. End Function
  985.